This is rather embarrassing - we currently confuse the transition with
the finished parameter, which means we always run the onComplete handler
no matter whether the transition was interrupted or actually completed.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/668
if (_easingTransitions.has(transition))
transition.disconnect(_easingTransitions.get(transition));
- let id = transition.connect('stopped', isFinished => {
+ let id = transition.connect('stopped', (t, isFinished) => {
_easingTransitions.delete(transition);
callback(isFinished);
});